// 引入项目中的全局组件
import SvgIcon from '@/components/SvgIcon/index.vue'
import PageNation from '@/components/PageNation/index.vue'
import Category from '@/components/Category/index.vue'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

// import type { App, Component } from 'vue';
// const components: { [name: string]: Component } = { SvgIcon, PageNation};
// export default {
//     // 必须叫install访问，在导入的该模块的时候会自动执行该方法，这里的app为全局的app实例对象
//     install(app: App) {
//         // 循环所有的要添加的全局组件
//         Object.keys(components).forEach((key: string) => {
//             // 注册对应的组件为全局组件
//             app.component(key, components[key]);
//         })
//     }
// }



const allGloabComponent: any = { SvgIcon, PageNation, Category }
export default {
  install(app: any) {
    Object.keys(allGloabComponent).forEach((key) => {
      app.component(key, allGloabComponent[key])
    });
    // 将element-plus提供的图标注册为全局组件
    // console.log(Object.entries(ElementPlusIconsVue)); // 结构出组件的名字，然后循环把他们注册为全局组件
    for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
      app.component(key, component)
    }
  },
}
